package service

import (
	"github.com/gin-gonic/gin"
	"github.com/starmotioncf/soutchatinternal/dto"
)

type AccountService interface {
	// LoginByThird 第三方登录
	LoginByThird(ctx *gin.Context, req *dto.LoginByThirdReq) (*dto.LoginRes, error)
	// LoginByPhoneAndPwd 手机密码登录
	LoginByPhoneAndPwd(ctx *gin.Context, req *dto.LoginByPhoneAndPwdReq) (*dto.LoginRes, error)
	// LoginByPhoneAndCaptcha 手机验证码登录
	LoginByPhoneAndCaptcha(ctx *gin.Context, req *dto.LoginByPhoneAndCaptchaReq) (*dto.LoginRes, error)
	// RefreshToken 刷新token
	RefreshToken(ctx *gin.Context, req *dto.AccountRefreshTokenReq) (*dto.LoginRes, error)
	// CheckMobilePhone 检查手机号信息
	CheckMobilePhone(ctx *gin.Context, req *dto.MobilePhone) (*dto.CheckMobilePhoneRes, error)
	// GetProfile 获取用户基本信息
	GetProfile(ctx *gin.Context) (*dto.AccountProfile, error)
}
